��� ������ ���� �� �����

� 1997 ���������� ����������

����� 2. ��� ����������� �������� ������ ������

��������, ����� ��������� ����������� ������� ����������� �������, ����������� �� ����� �����, �� ��������� ���������� �� ������ ����� ����������� ������. � ������ ����� ����� ������ �� ������������� ������� ����������� ������ � ��������� ��� � ������ ����.

������ ����� ����� ��������� �������� ������������ ��������� ������ �������� ������� � ����� ����������� �� �������������� � �������� � ����������.

�� ��� ����, ����� �����-����� ��������� ���������� ��������������� ��������, ���������� ���������� ������ � ��������� ��������� ��������� ���������������� MS DOS.

1. ��������� COM- � EXE-��������.

������ ������, ������� �������� ���- � ���-��������� �� ���- � ���-������. ���� � ���, ��� � ��������� ����� ���������� .��� ��� .��� �������� �� �����, ��� ������ ��������� (������, ��������������) ����������� ���������. ������ �� �������� � ������ � ������� ��������� ������������ ������������ �������� �� �� (���������) ����������� �������. ���� ���� ����� �� ��������� ������ ������ �������, ��� ��������� � ����������� �������� ������ �� ���������.

���-��������� ������������ ����� "�����" ���� � ������, ������������ � ����������� ������� � ���������� �� ����� 64��. ��������, ����� ��������� ����� ��������� ��������� �����ND.��� ������������ ������� MSDOS, ������ �� 6.22 ������������ ( � ������ �� CD "��� ����� #3" �������� MSDOS 6.3 beta :-).

���-��������� ����� ������� ����� ������� ���������.� ������ ����� ���-��������� ������������� ���������, ������ 28 ���� ��������� ���������:

�������� ������������ ����������
0 ����� 4D5A ('MZ') ������� ���-�����
2 PartPag ����� ����� �� ������ 512
4 PageCnt ����� ����� � 512-�������� ���������
6 ReloCnt ������ ����������� �������
8 HdrSize ������ ��������� � 16-���������
10 MinMem ������� ��������� ������
12 MaxMem �������� ��������� ������
14 ReloSS ������������� ������� �����
16 ExeSP �������� ��������� �����
18 ChkSum ����������� ����� �����
20 ExeIP �������� ����� �����
22 ReloCS ������������� ������� ����� �����
24 TablOff �������� ����������� �������
26 Overlay ����� ����������� ��������

���� ReloCS � ExeIP ���������� �������������� ����� ����� � ���������, ���� ExeSP � ReloSS - �������������� �����, ���� PartPag � PageCnt - ������ ��������� �������� ���������.

����������� �� PartPag � PageCnt ������ ��������� ����� �� ��������� � �������� �������� �����. ����� ��������� ���������� "�����������������" ��� "����������� ���������� �������". ��������� ������ ������� �������� �������� ����� ���������.

����� ��������� ����� ������������� ����������� �������, ������ �������������� ������� ������������ ����� TablOff, � ������ - ����� ReloCnt. � ���� ������� �������� ������ ��� ���� � ���� ���������, ������� �������������� ������������ �������� �� ����� �������� ���������. ��������, ������������ ���� ��������� ��� ������ ������� HackerView, �� ����� �������: call 0000:1234h; �� ����������, � �������� �������� ��������� MSDOS ��������� ������� 0 ������ ���������� �����, � ��������� ����� ����������� ��������� :-). ������, ���� �������� TablOff ���� ����� 40h ��� �������, ��, ������ �����, ��� ��������� � ������� Windows.

�������� ������ �����, ��������, ��������� ��������� COMMAND.COM �� Windows 95. �������� �� ���� ����������, �� ����� � ������ ���������� ����� 'MZ' � ����� 95 ��.

2. ������� ���������

���������� ������ ������� ��������� ��������. ��� ���������� �� �������� "���������", ���������� �� ����� � �������������� ������� � �������, ����������� �� ������ �������, �� � ������ ������ �� �������������������� ����������� (���).

������ ������, ��������� ���� �������� �������� ��-�������:

�) ����� ������������. ��� ������ ������������� � ����� ����� ���������� ���������, � ��� ��� ���� �������� �������������� ������� ��������������� �������� �� ������� ����� ���������.

�) ����� ����������. ��� ������ ������������� � ������ ���������� ���������, � ���� ����� ��������� ������������� � �����.

�) ����� ����������. �� ������ (��� ��������) ����� "���������" ��������, ������ �� ������ ���� ������, ������������� � �����. ��� ����� ������������ � �������������� �����.

�) ������������� ������ ���������� - ����� ������������ ������ �� ����������� ������. ����� ��������� �������� "������� ��������" � �� ����� ���� ������������� ������� �����������.

�) �� � ������ ��������, ���� ���������� ������������ ��������� ��������� � "���������� ������" ����� � ��.

�. ���������� �������� ��������� ������� � �������� �� "������������":

�) � ������ COM-���������. ���� ������ ������������� � ����� �����, ���-�� ������ ��� ����������� ��������� (������, ���) ������ ������������� ������ ���������, �� �� ����� ������������ ������� �������� �� ������ ������. ����� ����� ����������� ���������� ��������������� �� ��������, �� ��������������� ������������ ����� ������ ��������� (�� ������ CS:100h) � �������� ���� ����������.

�) � ������ EXE-���������. ���� ������ ������������� � ����� �����, � ��������� ��� �������������� �������� �����, ������������ �������������� ����� ����� � ������� ��������� (������ ��� - �������������� �����). � ���������� ���������� �������� �������� ���. �� ��������� ������ �����, ��������� ����������� ��� ��������� �������� ���������� �����, ������������ ������� �� ������������ ������ ���������.

3. ������������ ����

���� ���������� ������ ������� ��� ������������ ���� ������-������ ����������� ��������� ������ � ���������� ��������� ��� �������.

� �������� ������ "�������������� ��������" ������� ������ ��������� � ������ 90-� ����� ����� SVC-1740. ����� ����������� ���������� ����������������:

��� ��� ������� �� ������ ����� ������ ����������:


�.�.���������:

SVC

������ ������� ������ ������, �������� �� ��������� ���������� � ������ ���������. ��� ��������� ������ �������� COM � EXE. �������� ������ �� ����� �����: "(c) 1990 by SVC,Vers. 4.0". ������������ ����� �������� �����, ����� � ��� 60 ������. ���� ���������� ��������� ��������� DEBUG, ����� �� ����������. ��� ������ ������� ��������� ��������, ����� ������������ � ���������� � ���������� ���������� ����� � �����, ������� ���� ������� � ���.

SVC-1689, -1740

��� ������������� ����� ������, ������������ � ����� ���������, �������, �������, ��� � �� ��� �������.


���������, ��� ��������� ������ ����� SVC �������� � ����� ���������� ���������� ������ �����������, � ������ �� ������� ��������� :-)

������������� ���� �������� ���� ����� �� ����� ������ � ������������ �� ������������.

�) � MSDOS ������ ���������� ����� ARCVIEW.EXE, HIEW.EXE � LEX.EXE. � ���������� HackerView, ������� ��������� ����������� ������ ����, ��������� ��������, �������: HIEW bad, work is aborted.

�) Windows 3.11 � Windows 95 ������� ����������� ���������, �� ����� ������������������ ������������ �������������� ������ � ����������� 800�600�256 (���� �� � ���, ��� ����� ������� �����-������ ��������, � ������ � ������ ������ "��������" � ������ ��������� �������� ���������� Int21h).

��������� ������ ����� ������������� �����������:

DrWeb c: /cup /al 

AidsTest c: /f /g /q 

( ��������� ��������� � '*' ����� �������� - ��������� "�������" :-)

4. ��������� ��������

��� ������ ����� ��������� ������� ������� ��� ���������: 5000.COM � 5000.EXE. ���������� �� ����� �� 1740 ���� ������� ������ �� "������" ������ (Stealth-������).

������ ������, ����� �������������� ������ �����. ������ �������� ���� � ���� ����� ��������� DisDoc. �� ��������� �. �����������, �� ������� ���������� ������������� �������������� IDA. ������ ����������� ��� ��������� ��������� ������� HackerView. ����� �������� ������������� ������ ���������.

���������� ��� �������� ���� ���������� �������� ������������ Sourcer v5.04. �������, ������ �������� ��� ���� ����� ����� ������ ���������. ���, ����������� ������������ ������ �������� ������ 1.72. �������� �� ��, ��� ��� �� �������� ������ �������� �����, ������ ��������� ��� ������������������, ���� �������� �� ������� (������ ��������� PkLite) ����� 48�� :-)

����, ��������� ������������ ��������: sr 5000.���. �������� �� ������ �����-����� ������� ���������. ����� ������� 'a', ����� ������� �� ��������� �����. ����� ������������ ���������� ���������� ��������� �����: 'a' - ����������� ����������������� �������� ���������, ��������������� ����� ������ jmp/ret/iret; ��� ��������� �������� ������������ ��� ��� ���������� ��������, � ������� ��� ������ �������� (��������� ��������� ����������, ������� ������������ � ��.). �������� �� ������ ��������, ����� Enter. �������� ������� ������������������ �������� ������� 'g'.

� ����������� �� ������������������ CPU, ������� ����������������� ������ �� ���������� ������ �� ���������� �����. (Sourcer 1.72 �� 286/16 ���, ��������, ����������� ��������� prince.exe �� ������� Prince Of Persia ����� ���� :-) ������, ��� ������ ������ ������� �������� ����� �������: ���� �������� ���� ���� ������-���������� �������� ������.

6740 ���� ���������� ��������� ���� ��� 96 �� ������ + ���� 5000.sdf. ��� ����� ���������� ����, �� ������ � ��������� ���� ��� �����, �������������� ��� ������������������, ��� � ��������� ����������� ������: ���������� ���������� ���� � ������, �������������� ������������� ���� � ��. ���� �������� ��� ��������� �� ���� ����, ������������� ���� � 5000.def � ��������� ��� Sourcer'� � ��������� ������ � �������� ���������, �� ������������ ����� �������� � ������������ � ������ ������������.

����������� �������� ��������� ��� ����� 5000.���.

5. ������ ��������

�������� ����� ���������� - �������� ����������� ��������. ������� (������������) ����� 5000.��� �����������.

������������ ������ ���������� ���������, �� �����:

  1. ����� ��������� ���� ����� �� 1740 ����;
  2. � ����� �� ���� ����� ����������� ����;
  3. ���������� ����� �������� ������, ������, ���������� ���������� ������ - ��� ����� ������ 60;
  4. � ������ ����� 5000.��� ��������� ������� jmp;
  5. � ��������� ����� 5000.��� ���������� �������� ����� ReloCS,ExeIP,ExeSP,ReloSS,PartPag � PageCnt.

����...

�) � ������ ��������� ���� ���������� ������������������ ������ ����:

	call sub_1
sub_1: 	pop si 
	sub si,3 

�������� ������������������ ���������� ��� ������ ����� ������ �������. ������� call �������� � ���� �������� ������������ �������� ������ cs ��������� �� call �������. ������ ������������ ������� ret, �������� pop si ����� ������ ��������� ��� �������� � �������� ��� � ������� si. �������������� ��� �������� �� ����� ������� call (3 �����), ����� ������ �������� ����������� ����������� ��������� � ������� ������ ������������ �������� �������� �������� ���:

	mov cs:Data[si], xxxx. 

�� �������� DrWeb ����� ����� ��������� �� �������� ������� � ������ ��������, ������� ��������������� ���������. �������, ��� �� �������� ������������ ��������� ������. ��������, ���������� �������������� ������ �� ��� ���� ����� ���������� ���� �������. :-)

�) ������ ��������� ��������� ������ �������� ���� ����������� ������� ������������ ��������� � ���. ������� ���������� DOS � "���������" �������� 83h, ����� ���� ������� �������. "��������" ������� �� ������ ����������� �� ����������, � "�������" ������� ��������� � ������� dx ����� 1990h (��� �������� ������ ?), ��� � �������� � ������� ������������ ���� ������ � ������.

��������������� �������� ��������� ����������� ���������� Int21h:

	cmp ah,83h 
	je loc_9 
	...
loc_9: 
	mov dx,1990h 
	iret 

���� ���� ����� ������������ ���������-��� ��� �������������� ��������� ���� � ����������� ������. �����, ���������- ����������� ����� ����������� ������� ������ � ������, ������������ ��� ��������� � ����������� ����������� ����������.

�) � ������ ���������� ��������� ����������� Int21h � ������ ����� �������� ���������� ���� ���������� � �������� � ������ ����������.

�������� ������������ ���������� ���� ������ � ������ ������� �� ������ ����������� ��������� ����� ������ (MCB).��������� �������� ����� ��������� � ������� ������ � ��������, ������������� �������� ����� �����������, ����� ����� � ����� �� ������� ������� "�������" �� 1993 �.

�) ��������� ���� ����������� ����� � ��� (��� ��������� ������������ ���� ������� ����� �����), ����� ������ �������� ���������� ������������ ���������. �������� ������� ��������� ����������� ����� ��� ���.

� �������� ��������� (���� �������� �� �������� ������) ����� ��������� (� data_15) 24 ����� ������ ��������� � ����������� ����� ������. � ����������� �� ����������� ������� ����� ('MZ' ��� ���), ����� ��������� ��������� ������ ���� �� ���-, ���� �� ���-���������, ���������� �������� ������ �� ����� ����� � �� �����. �����������, ��������� 24 ����� ����� ����������� ������������ � ������.

������� ��� ����������� ������� �������� ���������� ������������� ���� ��������� ������ ���������� �������� �������� ����������� �������� ������ � ��������� 'MZ':

	cmp cs:data_15[si],5A4Dh
	je It_Was_EXE 

� ������, ���� ��������� ���� �������� �� ���-���������, ����� ������ ��������� ������ 3 ����� �� ������ ������ �� ������ data_15, �������� �� � ������ ������ ������������� ���� (�� ������ cs:100h) � �������� ���� ����������.

������ data_15 ������������� 80-� (���� ������� � �����) ���� ���������� ���������.

� ������, ���� ��������� ���� �������� �� ���-���������, ����� ��������� ������ ����� ����� �� ����������� � data_20 � data_21 ��������� ����� ReloCS � ExeIP, ��������������� �������������� ����� �� ����������� � data_18 � data_19 ��������� ����� ReloSS � ExeSP � �������� ���������� �� ReloCS+ES+10h:ExeIP. (ES - ������� PSP; ES+10h - ������� ������ ���������; ES+ReloCS+10h - ������ �������� ����� �����).

�������������� ������������� ������� � ���������� ����� (�� ����� �����):

data_20 60 
data_21 58 
data_18 66 
data_19 64 

��� ��� ���������� ����������� �������� ����� PartPag � PageCnt (�� ����� �����):

data_16+1 78 
data_16+3 76 

��� ��������� ����������� ����� ���������� ������������ ���������� �������� �����, ������ ������� �� ������ ��� ��������� � ������ 1740 �������� ������ �� ����� �����. ���� �������� ����� ��������� ����� 3 ������ "��� ������ ���� �� �����".

6. ��������� ��������

�������� ����� �����������, � �������� ������ ����� ����������� ��� ������������������ ���� ������ � �������� ��������.

��� ������ ����� ���� ����������. � ���� ������ � ������ ��������� ���� ������ ������������� ������������ ����. (������ ������, �������������� ����� ���� ����� :-(, �� 1-� - ������ ���������� :- ) ���� ������������ �������� �� ������ ����������� ����� � �������, ������, �� ����� ���� � ����������� �������.

��� ������ ���-����� ������ ���������� �������� ������ ������������ � ���������, ��������� ��� ���������� � ��������� �� ��������� �������������� ��� ������ (����������� debug ��� ������ �����, � ������������ td - ��� :-) . ���������� ���� ����� �����������������.

� ������ � ���-������ ����� ����� �� ��������, ��� ��� � ������ ����� �������� ����������� ���������, � ���������� ���� �� ������ ���� ���������������� ������ ��� ���. ��������, �������� ������ ����������� ��������� ����������� �� ������ ���������� �� �������� ��������� �������������.( �� ������� ����, ����� ������ ������ ��� � ��������� :-( ) ���� ���� ����� ������� ������ - ����������!

������ ������ �������������� ������ Search-1000:

8E86:0100          start:
8E86:0100  E9 01C8     jmp loc_4
.........................................................
                   loc_4:
8E86:02CB  E8 0000     call sub_2
                   sub_2:
8E86:02CE  5B          pop  bx
8E86:02CF  83 EB 03    sub  bx,3
8E86:02D2  B9 03E1     mov  cx,3E1h
8E86:02D5 �BE 0000     mov  si,data_2e
8E86:02D8  80 70 14 9C xor  byte ptr [bx+si+14h],9Ch
8E86:02DC  46          inc  si
8E86:02DD  E2 F9       loop $-5 

����������� ������ - ����� ��������������� ������ ����������� � ���� ������ ����� (�������� ���������� ������ Oops-600):

8E86:0146  8B 84 0353 mov  ax,data_12[si]
8E86:014A  F7 D0      not  ax
8E86:014C  A3 0100    mov  word ptr ds:[100h],ax
8E86:014F  8B 84 0355 mov  ax,data_13[si]
8E86:0153  F7 D8      neg  ax
8E86:0155  A3 0102    mov  word ptr ds:[102h],ax
8E86:0158  B8 0100    mov  ax,100h
8E86:015B  50         push ax
8E86:015C  33 C0      xor  ax,ax
8E86:015E  33 F6      xor  si,si
8E86:0160  C3         retn

������������ ����� ���� �������� � �������, ������������������� ����������� ���� ������ � �������������� ����������. ������������ � ����� ������� ����� � ����������� ����������, ����������� ������ � ���. ������ �������, ��� �������, ����� ���������� ���-������ ����� � ���������� ������ ��������� ������ (����� Awme, � ��� ����� - Natas):

detect_debug proc near 
	xor ax,ax 
	pushf 
	pop dx 
	and dh,0FEh 
	push dx 
	push dx 
	popf 
	push ss 
	pop ss 
	pushf 
	pop dx 
	test dh,01 
	pop dx 
	je no_debug 
	xor bp,bp 
	mov cx,ss 
	cli 
	mov ss,bp 
	les di,[bp+4] 
	mov ss,cx 
	sti 
	mov al,0CFh 
	cld 
	stosb 
	push dx 
	popf 
	pop bx 
	jmp debug no_debug: 
	pop bx 
	cmp byte ptr [bx],0cch 
	jne nobreak 
	jmp debug
nobreak: 
	push bx 
	ret
	detect_debug endp 

�� ��� ��� ������ ������ ����.

7. �����

� ������ ����� 2-� �����������:

��������� ����������� ��� � �������� "�������" ��� �������� �������� ��������� �����������. �� ��� ��� ����� � 3-� �����...


� by �.����������, � HTML by ReCoder